How does a PLC controller work